package Day025_综合案例;

import java.io.*;
import java.util.ArrayList;

/**
 * @author zhangyan
 * @date 2020/5/20 10:56
 */
public class Utils {
    //public static int id = 0;
    //有问题: 如果服务器关闭 重启后重新加载Utils类 id还是从0开始

    public static int id;
    //静态代码块 只在类加载时执行一次
    //使用静态代码块 给id赋初始值
    static {
        //创建反序列化流
        try {
            FileInputStream fis = new FileInputStream("Demo02\\stu.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            //读取文件中的集合对象
            ArrayList<Student> list = (ArrayList<Student>) ois.readObject();
            //判断 如果没有学生对象,就赋初始值为0,如果有学生对象,就获取最后一个学生对象的id作为初始值 (Server中直接是++Utils.id)
            if (list.size() == 0){
                id = 0;
            } else {
                Student stu = list.get(list.size() - 1);
                id = stu.getID();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
